#pragma once

#include <efi/efi.hpp>

namespace efi {

namespace Network {

typedef struct {
  uint8_t address[4];
} Ipv4Address;

typedef struct {
  uint8_t address[16];
} Ipv6Address;

typedef union {
  uint8_t address[4];
  Ipv4Address v4;
  Ipv6Address v6;
} IpAddress;

typedef struct {
  uint8_t address[32];
} MacAddress;

} // namespace Network

} // namespace efi
